<?php namespace Common\Model;
use Hdphp\Model\Model;
//分类管理模型
class Cate extends Model{
	//指定表名
	protected $table="category";
	//自动验证
	protected $validate=array(
		array('cname','required','分类名称不能为空',3,3),
		array('cname','maxlen:20','分类名称不得超过20个字符',3,3),
		array('csort','num:0,65535','排序范围0-65535',3,3),
	
	);
	//自定义store方法
	public function store(){
	    //调用框架的create方法，触发自动验证
	    if($this->create()){
	    	return $this->add();
	    }else{
	    	return false;
	    }
	}
	//模型类编辑方法
	public function edit(){
		//执行自动验证
		if($this->create()){
			//使用save方法不指定where条件，$_POST里面必须有主键
			//如果$_POST里面没有主键，那就自己指定where条件
			$this->save();

			return true;
		}
		return false;
	}
	//获得除了自己和自己的子集，被分类控制器方法所调用
	public function getNoMy($cid){
		//获得当前分类的子集的cid
		$cids=$this->getSon($this->get(),$cid);
		//把自己的cid压入
		$cids[]=$cid;
		//获得除了自己和自己的子集的数据
		$data=$this->where("cid NOT IN(".implode(',',$cids).")")->get();
		$data=Data::tree($data,'cname');
		return $data;
	}
	//获得所有的子集cid
	public function getSon($data,$cid){
		$temp=array();
		foreach($data as $v){
			if($v['pid']==$cid){
				//把子集的cid压入到temp临时数组
				$temp[]=$v['cid'];
				$temp=array_merge($temp,$this->getSon($data,$v['cid']));
			}
		}
		return $temp;
	}
}




 ?>